home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Day Cry
/
Day Cry CD.bin
/
oh_towns
/
install
/
instgafl.c
< prev
next >
Wrap
Text File
|
1994-09-20
|
8KB
|
231 lines
/*************************************************************************
* [Gafil]âCâôâXâgü[âïÅêù¥
*************************************************************************/
int install_gafil()
{
int ret, drv, fcopy_att, flag387, arcflag, srcdrv, item_setup;
char *softname;
char *helpfn;
char *srcdir;
char *arcfn, *arcdir;
char instdir[256], *instfile;
char *item_prog, *item_ttl, item_para[128];
int item_att;
char *dlgTxm;
char *lhalib;
char tmp[256], tmp2[256];
instdir[0] = '\0';
softname = "ëµæ£╠¿┘└ & ëµæ£╠¿┘└╪▌╕▐┬░┘╖»─ Gafil";
srcdir = "/OH_TOWNS/TOUKOU/GAFIL";
arcfn = "src.lzh";
arcdir = "SRC";
instfile = "*.*";
helpfn = "/OH_TOWNS/TOUKOU/GAFIL/GAFIL.GGG";
item_att = 2;
srcdrv = toupper(DirStart[0]) - 'A';
_TOP:
syl_putf("%s",softname);
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"%s é≡âCâôâXâgü[âïé╡é▄é╖üB", softname );
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r' , KA_EXEC ,
1, "", 0, "▓▌╜─░┘ : [Ä└ìs]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'H' , KA_H ,
2, "inst_help", helpfn, "Éαû╛ : [H]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL,
3, "", NULL, "ĵÅ┴ : [ĵÅ┴]");
DlgTxm_setSize(dlgTxm,480,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
do
{
ret = DlgTxm_start(dlgTxm);
} while ( ret == 2 );
DlgTxm_close(dlgTxm);
if ( ret != 1 )
goto _RET;
/* âCâôâXâgü[âï ------------------------------------------------*/
/* âCâôâXâgü[âïâvâìâOâëâÇæIæ≡ ------------------------------------*/
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"éáé╚é╜é╠TOWNS é╔é═ÉöÆlëëÄZâvâìâZâbâTé▄é╜é═ODP é¬òtéóé─éóé▄é╖é⌐üH" );
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
#if 0
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT,
"ü@é╖é╫é─é╠TOWNS é┼ô«é⌐é╡é╜éóÅΩìçé═üuòtéóé─éóé╚éóüvé≡ÄwÆΦé╡é─é¡é╛é│éóüB" );
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT,
"ü@387 éΓ486DXé¬òtéóé─éóéΘâ}âVâôé┼é═üuòtéóé─éóéΘüvé¬ÄwÆΦé┼é½é▄é╖üB" );
#endif
DlgTxm_setBtn( dlgTxm, Fnt16x16, 160, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'Y' , KA_Y ,
1, "", 0, "òtéóé─éóéΘ : [Y]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 160, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'N' , KA_N ,
2, "", 0, "òtéóé─éóé╚éó : [N]");
DlgTxm_setSize(dlgTxm,480,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
do
{
ret = DlgTxm_start(dlgTxm);
} while ( ret != 1 && ret != 2 );
DlgTxm_close(dlgTxm);
flag387 = (ret == 1 ? 1 : 0);
/* â\ü[âXôWèJèmöF ------------------------------------------------*/
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"â\ü[âXâvâìâOâëâÇéαâCâôâXâgü[âïé╡é▄é╖é⌐üH" );
DlgTxm_setBtn( dlgTxm, Fnt16x16, 160, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'S' , KA_S ,
1, "", 0, "┐░╜é≡▓▌╜─░┘é╖éΘ : [S]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 160, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL,
0, "", 0, "▓▌╜─░┘é╡é╚éó : [ĵÅ┴]");
DlgTxm_setSize(dlgTxm,480,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
ret = DlgTxm_start(dlgTxm);
DlgTxm_close(dlgTxm);
arcflag = (ret == 1) ? 1 : 0;
/* âCâôâXâgü[âïɵÄwÆΦ --------------------------------------------*/
ret = APL_setInstallDir(instdir,"%s : âCâôâXâgü[âïɵÄwÆΦ", softname);
if ( ret )
goto _TOP;
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"%s", instdir );
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"é▒é╠âfâBâîâNâgâèé╔âCâôâXâgü[âïé╡é─éαéóéóé┼é╖é⌐üH" );
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER,"");
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"▓▌╜─░┘1 üc âtâ@âCâïé≡òíÄ╩é╡é─TownsMENU é╔âAâCâeâÇôoÿ^");
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"▓▌╜─░┘2 üc âtâ@âCâïé≡òíÄ╩üiâAâCâeâÇôoÿ^é═é╡é╚éóüj ");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r' , KA_EXEC , 1, "", 0, "▓▌╜─░┘1 : [Ä└ìs]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'C' , KA_C , 2, "", 0, "▓▌╜─░┘2 : [C]");
DlgTxm_setSize(dlgTxm,320,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
ret = DlgTxm_start(dlgTxm);
DlgTxm_close(dlgTxm);
if ( ret != 1 && ret != 2 )
goto _TOP;
item_setup = (ret == 1 ? 1 : 0);
/* âCâôâXâgü[âïèJÄn ------------------------------------------------*/
syl_putf("INSTALL START");
FS_chdrv(srcdrv);
FS_getFullPn(tmp,srcdir);
fcopy_att = FCOPY_ATT_TIMESTAMP | FCOPY_ATT_CHK_OVERWRITE | FCOPY_ATT_NOENDMSG;
if ( flag387 )
instfile = "gafil387.* *.doc";
else
instfile = "gafil386.* *.doc";
ret = FCOPY_exec(fcopy_att, tmp, instfile, instdir);
if ( ret == NORMAL )
{
FS_chdrv(srcdrv);
strcpy(tmp2,srcdir); add_path_fn(tmp2,"TESTSCR");
FS_getFullPn(tmp,tmp2);
fcopy_att = FCOPY_ATT_TIMESTAMP | FCOPY_ATT_CHK_OVERWRITE;
ret = FCOPY_exec(fcopy_att, tmp, "*.gsc", instdir);
}
/* Åæî╔ôWèJ --------------------------------------------------------*/
if ( arcflag )
{
FS_chdrv(srcdrv);
strcpy(tmp2,srcdir); add_path_fn(tmp2,"INC");
FS_getFullPn(tmp,tmp2);
strcpy(tmp2,instdir); add_path_fn(tmp2,"INC");
fcopy_att = FCOPY_ATT_CHK_OVERWRITE | FCOPY_ATT_NOENDMSG;
ret = FCOPY_exec(fcopy_att, tmp, "*.h", tmp2);
if ( ret != NORMAL )
goto _EXTSKIP;
FS_chdrv(srcdrv);
strcpy(tmp2,srcdir); add_path_fn(tmp2,"LIB386");
FS_getFullPn(tmp,tmp2);
strcpy(tmp2,instdir); add_path_fn(tmp2,"LIB386");
fcopy_att = FCOPY_ATT_CHK_OVERWRITE | FCOPY_ATT_NOENDMSG;
ret = FCOPY_exec(fcopy_att, tmp, "*.lib", tmp2);
if ( ret != NORMAL )
goto _EXTSKIP;
FS_chdrv(srcdrv);
strcpy(tmp2,srcdir); add_path_fn(tmp2,"LIB387");
FS_getFullPn(tmp,tmp2);
strcpy(tmp2,instdir); add_path_fn(tmp2,"LIB387");
fcopy_att = FCOPY_ATT_CHK_OVERWRITE | FCOPY_ATT_NOENDMSG;
ret = FCOPY_exec(fcopy_att, tmp, "*.lib", tmp2);
syl_putf("ARC(.LZH) FILE EXTRACT");
FS_chdrv(srcdrv);
strcpy(tmp,srcdir);
add_path_fn(tmp,arcfn);
strcpy(tmp2,instdir);
if ( arcdir[0] )
add_path_fn(tmp2,arcdir);
if ( (lhalib = LHA_openArc(tmp)) != NULL )
{
ret = LHA_extractAll(lhalib,tmp2);
LHA_closeArc(lhalib);
} else
{
syl_putf("ARC OPEN ERROR");
ret = ERR;
}
}
_EXTSKIP:
/* âAâCâeâÇôoÿ^ ----------------------------------------------------*/
if ( ret == NORMAL && item_setup != 0 )
{
syl_putf("ITEM SETUP");
drv = toupper(instdir[0]) - 'A';
strcpy(item_para,"");
if ( flag387 )
{
strcpy(tmp,instdir);
add_path_fn(tmp,"GAFIL387.EXP");
item_setApl( drv, 1024, "GAFIL", tmp, item_para, item_att );
strcpy(tmp,instdir);
add_path_fn(tmp,"GAFIL387.EXG");
item_setApl( drv, 1024, "GAFIL/SHELL", tmp, item_para, item_att );
} else
{
strcpy(tmp,instdir);
add_path_fn(tmp,"GAFIL386.EXP");
item_setApl( drv, 1024, "GAFIL", tmp, item_para, item_att );
strcpy(tmp,instdir);
add_path_fn(tmp,"GAFIL386.EXG");
item_setApl( drv, 1024, "GAFIL/SHELL", tmp, item_para, item_att );
}
}
/* âCâôâXâgü[âïÅIù╣ ------------------------------------------------*/
install_end( softname, ret );
_RET:
syl_clear();
return (0);
}